                |_   _|__ | |_ __ _| |                   
                  | |/ _ \| __/ _` | |                   
                  | | (_) | || (_| | |                   
    _             |_|\___/ \__\__,_|_| _   _             
   / \   _ __  _ __ (_) |__ (_) | __ _| |_(_) ___  _ __  
  / _ \ | '_ \| '_ \| | '_ \| | |/ _` | __| |/ _ \| '_ \ 
 / ___ \| | | | | | | | | | | | | (_| | |_| | (_) | | | |
/_/   \_\_| |_|_| |_|_|_| |_|_|_|\__,_|\__|_|\___/|_| |_|
Total Annihilation

DOWNLOAD THE MOD HERE:
----------------------
https://www.moddb.com/mods/total-annihilation

-------------------------------------------------
Tribes Total Annihilation mod version 1.0
By BaseEncrypt
-------------------------------------------------

Total Annihilation is a multi-class Tribes mod designed to promote diverse and strategic team play. 
This mod provides you with a group of armor classes and weapons to allow you to experience a wide variety of options. 
Whether you prefer stealthy sniping, juggernaughting your way through defenses, or constructing a defense system by deploying turrets and objects,
it should provide the equipment you need for any style of play.

TA is a mod that allows for anyone with a Tribes install to be able to connect to your server without downloading the mod or any files for themselves.
You can even connect on a v1.0 Tribes install. This has helped the mod stay accessible.

 ___           _        _ _                              
|_ _|_ __  ___| |_ __ _| | |                             
 | || '_ \/ __| __/ _` | | |                             
 | || | | \__ \ || (_| | | |                             
|___|_| |_|___/\__\__,_|_|_|     _   _                   
(_)_ __  ___| |_ _ __ _   _  ___| |_(_) ___  _ __  ___ _ 
| | '_ \/ __| __| '__| | | |/ __| __| |/ _ \| '_ \/ __(_)
| | | | \__ \ |_| |  | |_| | (__| |_| | (_) | | | \__ \_ 
|_|_| |_|___/\__|_|   \__,_|\___|\__|_|\___/|_| |_|___(_)

INSTALL INSTRUCTIONS:
-Extract the contents of the TotalAnnihilation.zip onto your computer, preferably to C:\Dynamix\TotalAnnihilation
-Note if you extract it somewhere else you will need to right click on the 'Launch Total Annihilation Server' shortcut and fix the Target: and Start In: boxes in the 'Shortcut' tab.
-Point them to wherever you installed the folder.
-Example:

Target:
C:\Dynamix\TotalAnnihilation\InfiniteSpawn.exe *Tribes.exe -mod TotalAnnihilation +exec TotalAnnihilation.cs -dedicated

Start In:
C:\Dynamix\TotalAnnihilation

Important Note:
Total Annihilation has a default setup of being a multiplayer server host.
You will need to host the mod, then connect on a regular Tribes install.

 _   _                 _          ____  _               
| | | | _____      __ | |_ ___   |  _ \| | __ _ _   _ _ 
| |_| |/ _ \ \ /\ / / | __/ _ \  | |_) | |/ _` | | | (_)
|  _  | (_) \ V  V /  | || (_) | |  __/| | (_| | |_| |_ 
|_| |_|\___/ \_/\_/    \__\___/  |_|   |_|\__,_|\__, (_)
                                                |___/   
HOW TO PLAY:												
1) host a server
2) connect to your server on an separate v1.11 or v1.4+ version of Starsiege: Tribes
3) if you don't already have a copy of tribes I suggest:

https://tr1bes.us/configs/
or
https://library.theexiled.pwnageservers.com/category.php?id=1

If it's your first time setting up a modern Tribes config:
----------------------------------------------------------
-You will need to follow the instructions in the frequently asked questions here:
https://tr1bes.us/faq/
-Click the dropdown How do I Install Tribes? and follow the instructions.

ALSO IF YOU ARE PLAYING ON A TRIBES V.1.40+ CONFIG:
---------------------------------------------------
In Tribes\config\Modules folder open the file xt_prefs.acs and change the following line to this.
$net::timeNudge = -32;
-32 is the setting we want to use when connected to non-XT Tribes servers. TA doesn't use XT.

If tribes.exe hangs or opens in a tiny window do this.
1) Right click the tribes.exe
2) Click 'Properties'
2) Click  the tab at the top 'Compatability'.
3) Check the box for 'Run this program in compatability mode for':
4) Select Windows XP (Service Pack 3)
5) Check the box for 'Disable fullscreen optimization'.
6) Check the box for 'Run this program as an administator'.
7) Click the button for 'Change high DPI Settings'
8) Check the box for 'Overide high DPI scaling behavior'.
9) Click on the dropdown box v and select 'Application'
10) Cick 'OK'
11) Click 'Apply'
Try the exe again.

 _   _           _   _                                                      
| | | | ___  ___| |_(_)_ __   __ _    __ _   ___  ___ _ ____   _____ _ __ _ 
| |_| |/ _ \/ __| __| | '_ \ / _` |  / _` | / __|/ _ \ '__\ \ / / _ \ '__(_)
|  _  | (_) \__ \ |_| | | | | (_| | | (_| | \__ \  __/ |   \ V /  __/ |   _ 
|_| |_|\___/|___/\__|_|_| |_|\__, |  \__,_| |___/\___|_|    \_/ \___|_|  (_)
        		|___/                   

HOSTING A SERVER:				
-Double click or select and press enter on the 'Launch Total Annihilation Server' shortcut to start your server.

-Select this following line and copy it with ctrl+c or right clicking and selecting 'copy'
connect(localhost:28007);

*For convenience you can make a shortcut of your 1.4 config tribes.exe and put it in your TotalAnnihilation folder.
-Open your seperate 1.11 or 1.4+ Tribes config and open Tribes.

-Press the tidle key ` above the Tab key to open the console.
-Press ctrl+v to paste the connect command and press Enter to join your server.

28007 is the port you are hosting on. If you want to change the port see:
TotalAnnihilation_Settings.cs inside the Config folder.
Look for the line: 
$Server::Port = "28007";

Note: When running a new server for the first time you might see:
exec: invalid script file AnnAdminList.cs.
exec: invalid script file AnnBannedList.cs.
exec: invalid script file PPStuff.cs.
exec: invalid script file PP*.cs
These files are actually fine, they are just empty because nobody has been added to the admin list, banned or registered a profile with the profile system yet.

 _____    _ _ _                                                          
| ____|__| (_) |_   _   _  ___  _   _ _ __                               
|  _| / _` | | __| | | | |/ _ \| | | | '__|                              
| |__| (_| | | |_  | |_| | (_) | |_| | |                                 
|_____\__,_|_|\__|  \__, |\___/ \__,_|_|     _   _   _                   
 ___  ___ _ ____   _|___/_ __ ___   ___  ___| |_| |_(_)_ __   __ _ ___ _ 
/ __|/ _ \ '__\ \ / / _ \ '__/ __| / __|/ _ \ __| __| | '_ \ / _` / __(_)
\__ \  __/ |   \ V /  __/ |  \__ \ \__ \  __/ |_| |_| | | | | (_| \__ \_ 
|___/\___|_|    \_/ \___|_|  |___/ |___/\___|\__|\__|_|_| |_|\__, |___(_)
                                                             |___/       

EDIT YOUR SERVER SETTINGS:															 
-Open the Config folder and then open the .cs file TotalAnnihilation_Settings with notepad or another text editor

Here you can change the name of your server and set up admin passwords and more.

Here are some notable settings that you can change in that settings file, do not change them here.

$Server::HostName = "DiamondSwordAlley";	// Server Name
$Server::Port = "28007";  // the port you will be hosting the server on
$Server::HostPublicGame = true; // change this to false if you want to host offline
$Server::Password = "";	// Password needed to join server.		
$pref::LastMission = "AirStrike"; // This sets the first map in rotate when server launches (make sure it is spelled correctly)

$TA::GoatAdminLogin = "goatpassword"; // goat admin password you should change this
$Annihilation::OwnerPassword[1] = "owned"; // the owner admin password for your server, change this!
$Annihilation::GodPassword[1] = "godly"; // the god admin password for your server, change this!
$Annihilation::SADPassword[1] = "super"; // the super admin password for your server, change this!
$Annihilation::PAPassword[1] = "public"; // the public admin password for your server, change this!

$Server::MaxPlayers = "24";	// Maximum number of client connections allowed

^^ Change the above settings in the TotalAnnihilation/Config folder in the file TotalAnnihilation_settings. Don't change them in this file.

    _       _     _ _                                                    
   / \   __| | __| (_)_ __   __ _    __ _   ___  ___ _ ____   _____ _ __ 
  / _ \ / _` |/ _` | | '_ \ / _` |  / _` | / __|/ _ \ '__\ \ / / _ \ '__|
 / ___ \ (_| | (_| | | | | | (_| | | (_| | \__ \  __/ |   \ V /  __/ |   
/_/   \_\__,_|\__,_|_|_| |_|\__, |  \__,_| |___/\___|_|    \_/ \___|_|   
| |_ ___   | |_| |__   ___  |___/ ___ _ ____   _____ _ __                
| __/ _ \  | __| '_ \ / _ \ / __|/ _ \ '__\ \ / / _ \ '__|               
| || (_) | | |_| | | |  __/ \__ \  __/ |   \ V /  __/ |                  
 \__\___/   \__|_| |_|\___| |___/\___|_|    \_/ \___|_|                  
| |__  _ __ _____      _____  ___ _ __ _                                 
| '_ \| '__/ _ \ \ /\ / / __|/ _ \ '__(_)                                
| |_) | | | (_) \ V  V /\__ \  __/ |   _                                 
|_.__/|_|  \___/ \_/\_/ |___/\___|_|  (_)  

ADDING A SERVER TO THE SERVER BROWSER:
Maybe you want to connect to your server from somewhere else. If for some reason you can't see your server you can try to manually add it.
1) host the server
2) open the tribes.exe (v1.0) in the mod folder and go to the server browser, you should see your server here and the i.p and port, write them down
3) now while on the other tribes navigate to the server browser, click a server, and press the Ins (insert) key to bring up the add a server prompt
4) enter your servers name and address (ip and : port) that you wrote down earlier
5) example server name: DiamondSwordAlley address: 67.222.138.11:28007
6) after you add the server you will need to refresh the server list for it to pop up
7) you can also take the ip and port and use it in the console command ex: connect("67.222.138.11:28007"); will connect to a server with that ip and port 28007
8) if you put this in a notepad file you can just copy and paste it into the tribes console, hit enter and connect to your server.
 _                      _               _         _                    
| |    ___   __ _  __ _(_)_ __   __ _  (_)_ __   | |_ ___              
| |   / _ \ / _` |/ _` | | '_ \ / _` | | | '_ \  | __/ _ \             
| |__| (_) | (_| | (_| | | | | | (_| | | | | | | | || (_) |            
|_____\___/_\__, |\__, |_|_| |_|\__, | |_|_| |_|_ \__\___/             
  __ _  __| |___/ |___(_)_ __   |___/   _| |__ (_) | ___    ___  _ __  
 / _` |/ _` | '_ ` _ \| | '_ \  \ \ /\ / / '_ \| | |/ _ \  / _ \| '_ \ 
| (_| | (_| | | | | | | | | | |  \ V  V /| | | | | |  __/ | (_) | | | |
 \__,_|\__,_|_| |_| |_|_|_| |_|   \_/\_/ |_| |_|_|_|\___|  \___/|_| |_|
 _   _  ___  _   _ _ __   ___  ___ _ ____   _____ _ __ _               
| | | |/ _ \| | | | '__| / __|/ _ \ '__\ \ / / _ \ '__(_)              
| |_| | (_) | |_| | |    \__ \  __/ |   \ V /  __/ |   _               
 \__, |\___/ \__,_|_|    |___/\___|_|    \_/ \___|_|  (_)              
 |___/                                                       

LOGGING IN TO ADMIN WHILE ON YOUR SERVER:
- First open your TotalAnnihilation_Settings file in TotalAnnihilation/Config folder and set up your admin level passwords. 
- Press the tidle key ` above Tab key to open the console while in your server.
- You can copy the command from a text file on your computer with ctrl+c and then paste it in console with ctrl+v
- Or type out the command and pass from memory.
- Hit Enter.
- Logging in to public, super, god and owner admin all use the command syntax:
sad("passwordhere");

Once you are logged in to Owner admin you will also be able to access goat admin.
-Open console and paste or type in the command:
remoteEval(2048, GoatedAdminLogin, "goatpassword");

If you were already logged in to Owner admin you will get a confirmation message.
You should also see 'Spoonbot Options' in the Tab menu.

Type #commands in chat to see a list of owner and goat admin hashtag commands.

__        __                             _   _      _        
\ \      / /__  __ _ _ __   ___  _ __   | | | | ___| |_ __ _ 
 \ \ /\ / / _ \/ _` | '_ \ / _ \| '_ \  | |_| |/ _ \ | '_ (_)
  \ V  V /  __/ (_| | |_) | (_) | | | | |  _  |  __/ | |_) | 
   \_/\_/ \___|\__,_| .__/ \___/|_| |_| |_| |_|\___|_| .__(_)
                    |_|                              |_|     
WEAPONS HELP:					
If you are new to Total Annihilation it's recommended that while in game you open the tab menu and navigate to Personal Options - Enable Weapon Help
Turning weapon help on will give you the description of weapons and packs when you first equip them. 					
    _                           
   / \   _ __ ___ _ __   __ _ _ 
  / _ \ | '__/ _ \ '_ \ / _` (_)
 / ___ \| | |  __/ | | | (_| |_ 
/_/   \_\_|  \___|_| |_|\__,_(_)

ARENA:
TA comes with a Tribes Arena that can be joined by opening the Tab menu in game and going to Arena.
Once in arena you can Open the Tab menu and vote to change the arena to various arena maps.

The arena can be used to duel each other while still playing on any of the other normal maps which can lead to some dynamic happenings such as dueling way up in the sky
on a foggy map or a map with a sunset and a large visual distance.

There are some fun options you can vote for arena such as spawning in Titan armor only or dueling on the terrain of the current map, but way out of bounds.
You can also vote to enable Winners mode which will pit two players against each other while everyone else watches. The player who wins goes on to duel the next player in line.

The TA arena also has the ability to make team deathmatch teams to duel each other, for example 3v3 team duels.
The two teams fight in several rounds and the sole survivor at the end wins their team 1 point for that round.

Lastly the Arena has maps with the tag (bots) such as BattleCube(bots). 
While on a bot map you can spawn friendly or enemy bots with the Tab menu.
Arena bots use their jetpacks, beacons, grenades etc. and are some of the funnest bots to duel.
I recommend spawning 2-3 Warrior bots and attempting to win using only a disc launcher.

How to fight on the ground in arena?
While in arena open tab menu click voting -> change arena
Vote for 'Arena Terrain' on the first page.

__        __         _   _               
\ \      / /__  __ _| |_| |__   ___ _ __ 
 \ \ /\ / / _ \/ _` | __| '_ \ / _ \ '__|
  \ V  V /  __/ (_| | |_| | | |  __/ |   
 __\_/\_/ \___|\__,_|\__|_| |_|\___|_|   
/ ___| _   _ ___| |_ ___ _ __ ___  _     
\___ \| | | / __| __/ _ \ '_ ` _ \(_)    
 ___) | |_| \__ \ ||  __/ | | | | |_     
|____/ \__, |___/\__\___|_| |_| |_(_)    
       |___/                            

WEATHER SYSTEM:	   
TA comes with a dynamix weather system.
Open the tab menu and click Voting Options - Voting Mission - Vote to Change the Weather
You can vote to enable rain, enable snow, clear the weather etc.
Once a light rain or light snow is going you can vote to escalate them to a heavier version and eventually a hurricane or blizzard.

 ____        _ _     _ _               __  __           _        
| __ ) _   _(_) | __| (_)_ __   __ _  |  \/  | ___   __| | ___ _ 
|  _ \| | | | | |/ _` | | '_ \ / _` | | |\/| |/ _ \ / _` |/ _ (_)
| |_) | |_| | | | (_| | | | | | (_| | | |  | | (_) | (_| |  __/_ 
|____/ \__,_|_|_|\__,_|_|_| |_|\__, | |_|  |_|\___/ \__,_|\___(_)
                               |___/                             

BUILDING MODE:							   
You can vote to Enable Builder mode which will allow all players access to the inventory system without having to be at a station.
While building is on you can also deploy much more of some of the items, such as spam deploying a bunch of deployable platforms.
Building mode unlocks the weapons Heavens' Harpoon, Pitchfork and the Grappling Hook for every armor.

    _       _                               _ 
   / \   __| |_   ____ _ _ __   ___ ___  __| |
  / _ \ / _` \ \ / / _` | '_ \ / __/ _ \/ _` |
 / ___ \ (_| |\ V / (_| | | | | (_|  __/ (_| |
/_/__ \_\__,_| \_/ \__,_|_| |_|\___\___|\__,_|
| __ ) _   _(_) | __| (_)_ __   __ _ _        
|  _ \| | | | | |/ _` | | '_ \ / _` (_)       
| |_) | |_| | | | (_| | | | | | (_| |_        
|____/ \__,_|_|_|\__,_|_|_| |_|\__, (_)       
                               |___/   

ADVANCED BUILDING:							   
While Building is active you can vote to escalate to Advanced Building.
This will unlock Slappers, Portal Guns and the Gravity Gun for every armor.
The slapper can deploy a large number of tribes objects that you can then move around with the pitchfork or gravity gun.
The gravity gun can move almost ANY object as well as players, and from very far away.
Be warned the gravity gun can completely pick up the Broadside base for example and lower it under the terrain or fly away with it...							   

  ____                        _____                        
 / ___| __ _ _ __ ___   ___  |_   _|   _ _ __   ___  ___ _ 
| |  _ / _` | '_ ` _ \ / _ \   | || | | | '_ \ / _ \/ __(_)
| |_| | (_| | | | | | |  __/   | || |_| | |_) |  __/\__ \_ 
 \____|\__,_|_| |_| |_|\___|   |_| \__, | .__/ \___||___(_)
                                   |___/|_|                

GAME TYPES:								   
TA has an actually mind boggling amount of maps so lets just break down the game types to keep things simple.

Capture the Flag:
-----------------
The bread and butter of Tribes and also Total Annihilation mod.
Two teams attempt to grab the enemy flag and being it back to their own to score points.

CTF Mixed:
-----------------
Ctf maps made for Tribes and not specifically for TA. A lot of these are classics and date back to 98-99.
The Mixed refers to some of the maps taking place on the ground and some of them taking place up in the air.

CTF Night:
-----------------
Ctf maps that all take place during the night. Some players prefer to play night maps.

CTF Spawn:
-----------------
It's ctf but without the inventories. You spawn in Warrior armor with a few weapons.
It's a bit like Tribes LT except with the power of the Warrior armors' booster beacons for added flair.

Challenge Maps:
-----------------
The challenge maps play nothing like normal Tribes matches and instead have you attempting to complete a sort of obstacle course.
The completed runs are mostly on youtube if you need a walkthrough.

If you want to practice against bots the challenge maps BotPracticeMk-III and KWSN Duel both have them.

Ski Maps:
-----------------
Insanely large courses designed for falling down while spamming your space bar or ski key to slide down the course.
TA adds a checkpoint system with timers so you can keep track of your best times and attempt to improve.

Vehicle Race Maps:
-----------------
Also found within the 'Ski Maps' category are some Vehicle Racer maps.
If you just want to cruise through some checkpoints in vehicles across a few different terrains these are perfect.
These maps also have lap times so you can try to beat your best times.

Flag Hunter:
-----------------
Everyone spawns with flags and when they die they drop them. Collect as many flags as possible and return them to the flag Nexus to score points.
Press 'o' in game to open the Objectives screen during flag hunter for more information.

CTF Bots:
-----------------
These maps utilize Spoonbot to have bots spawn in and attempt to play a match of ctf.
The bots for TA have been upgraded a bit to deploy turrets and are much more capable at dueling enemies.
The ctf bots are best used as filler while playing with at least a few real players.
If you're playing solo I recommend fighting the #Arena bots instead.

Community Maps:
-----------------
An insanely large collection of community made Total Annihilation maps.

Misc Dynamix Maps:
-----------------
These include every stock Dynamix map that came with Tribes.

Deathmatch:
-----------------
A free for all typically without inventory stations where you try to get the highest percentage of accuracy and as little deaths as possible.

CTF OG:
-----------------
The 'Original' best capture the flag maps from Tribes.
Raindance, Broadside, Scarabrea, Rollercoaster, CanyonCrusade, Iceridge, Snowblind, Stonehenge, Dangerous Crossing
They are all here.

Arena:
-----------------
-See the section about Arena for more info.

 ____             __ _ _        ____            _                   
|  _ \ _ __ ___  / _(_) | ___  / ___| _   _ ___| |_ ___ _ __ ___  _ 
| |_) | '__/ _ \| |_| | |/ _ \ \___ \| | | / __| __/ _ \ '_ ` _ \(_)
|  __/| | | (_) |  _| | |  __/  ___) | |_| \__ \ ||  __/ | | | | |_ 
|_|   |_|  \___/|_| |_|_|\___| |____/ \__, |___/\__\___|_| |_| |_(_)

PROFILE SYSTEM:
TA has a profile system for keeping stats on things that happen in game and reserving a player name.
Type #help in game chat for a list of commands for creating a new profile.
Once you set your password when you connect to the server on your registered name you will need to type #login yourpassword to login.

Type: #register E-Mail Password
This will register your playername into the profile system.
Note: Profile will only work after the server resets.

Type: #login Password
Use this command to login to your profile when joining the server.

Type: #setpassword Password Username
This will change the Password for your account.

Once connected on a registered profile you will be able to check your statistics in the tab menu under Personal Statistics.

There are stat categories for combat stats, objective stats, misc stats, and records stats.

If another registered user is online you can type #CombatStats playername for example to view their combat stats.
Type: 
#combatstats playername
#objectivestats playername
#miscstats playername
#recordsstats playername

// File structure for profiles found in TotalAnnihilation\Temp folder.
// PP(a-z||0-9).cs - Used to store player profile info relating to certain names.  Avoid loading all player profiles at once.  Uses first alphanumerical character.
// $PlayerProfileTemp[%name] - Gives ID from above file to use to find below file.
// Player(id).cs - Acutal Player Profile as told by the storage system.
// PPStuff.cs - Some stuff.
// $PlayerProfileCount - Total number of people in the system, useful for adding people.
 _   _                                   ___            _ _ _   
| | | | _____      __   ___ __ _ _ __   |_ _|   ___  __| (_) |_ 
| |_| |/ _ \ \ /\ / /  / __/ _` | '_ \   | |   / _ \/ _` | | __|
|  _  | (_) \ V  V /  | (_| (_| | | | |  | |  |  __/ (_| | | |_ 
|_| |_|\___/ \_/\_/    \___\__,_|_| |_| |___|  \___|\__,_|_|\__|
| |_| |__   ___   _ __ ___   ___   __| |__ \                    
| __| '_ \ / _ \ | '_ ` _ \ / _ \ / _` | / /                    
| |_| | | |  __/ | | | | | | (_) | (_| ||_|                     
 \__|_| |_|\___| |_| |_| |_|\___/ \__,_|(_)  

HOW CAN I EDIT THE MOD? 
-Open the TA Modding folder.
-All of the .cs files are split into named folders for convenience

-There are two easy ways you can format your mods' files in the 'TotalAnnihilation' folder
-One way is to have all of the .cs files in the folder and the other is to compress them into a single scripts.vol file in the folder instead

-If you need to grab all the .cs files out of the TA Modding folders simply open TA Modding and search for *
-Scroll down in the search passed the folders and select the first .cs file and then scroll to the bottom and select the last to highlight all 304.cs files
-You can now just copy and paste them wherever, for example into the 'TotalAnnihilation' folder.

-With the above method you can make edits to the mod while keeping the files 1) updated AND 2) in easily searchable folders.
-Another common option would be to just directly edit the .cs files inside the 'TotalAnnihilation' folder while you work on your mod and compile a scripts.vol later

-If you do want to compile your .cs files into a scripts.vol simply paste them all into
'Mod Compile Machine' folder, then run the 'TotalAnnihilation Mod Compile Machine' batch file.
-Press c to compile and it will create a new scripts.vol file that you can move to the 'TotalAnnihilation' folder.

You can also use the mod compile machine to decompile a scripts.vol
Press 1-9 to change font colors.
Do not press zero.
TRIBES
 +=============+@+============+%   %=====+ *=============#   +=============   %+===========*  
 +::::::::::::::@#-:::::::::::--:# @-:-::# %::-::::==:::-::+ #::-+:==::#:::%%:::-:::=::::::*  
@%@@ @=---:=  @%#*--=--@@@@@*----# @-----# %--#:-%@@@@%:-::=@#--=+-@@@@@@@%%%----+@@@@@@@@@#  
     @*=====     *+=+*=%    *=--=# @==-==# %=-=-=#    *----=@#==-=-@        #===-+@           
     @*++===     *==+==%    ++=++# @===++# %=+*==%    *==--+@#=++++@@@@@@@+ #++==+=++===++-@  
     @+++++-     **+**+*#+##+**++@ @==+=+# %+++++++#*++=+#%  *+=*+++***+*** @++*****#=#*****  
     @*****-     ******%@%*****@@  @*+*#*# %*++++%%%%%%+++++ ***#+*%*##**#+ @%****+**=******        
     @**###-     *#*#*=%  %**##=@  @*+=*## %***+*#    +*#-++@*#*##*@            @     #####*        
     @*###%-     *%##%+%  @##%%%=  @*+%=## %######    +#*#**@*###%#@                  *%###*        
     @#%%%%-     *%%%#+%   @%%#%@+ @#+%**# @%%#%#------%%#*#@*%+*%%-------+@**------:--@%%%%        
     @#**%@=    @+@%@%+*    @@%@@%%@@+%##+ =@=#%%%%*+%%%%%@@ =@@@*@@#@@@%@%@#*@%%%%@#%@%%%@@        
                            @%@@@@%@                                                                
                             @@@@@@@#                                                               
                                            

